﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

public partial class Admin_EditBroker : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!(Roles.IsUserInRole("Admin")))
        {
            Response.Redirect("~/Admin/login.aspx");
        }
        if (Request.Form["act"] == null)
        {
            string act = "";
            int page = 1;
            int objId = 0;
            if (Request.QueryString["act"] != null)
                act = Request.QueryString["act"].ToString();
            if (Request.QueryString["id"] != null)
                objId = Convert.ToInt32(Request.QueryString["id"].ToString());
            if (Request.QueryString["Page"] != null)
                page = Convert.ToInt32(Request.QueryString["Page"].ToString());

            if (act == "" || objId <= 0) Response.Redirect("BrokerManager.aspx?Page="+page);
            NhaKinhDoanhDataContext db = new NhaKinhDoanhDataContext();
            NhaMoiGioi objInfo = new NhaMoiGioi();
            if (act != ""  && objId > 0)
            {
                if (act == "view") {
                    TenNhaMoiGioiTextBox.Enabled = false;
                    TenDangNhapWSTextBox.Enabled = false;
                    MatKhauWSTextBox.Enabled = false;
                    LinkWSTextBox.Enabled = false;
                    btnCapNhat.Visible = false;
                    chkNhaMoiGioiMacDinh.Visible = false;
                    Label1.Visible = false;
                    NotificationMessage.InnerHtml = NotificationHelper.SetNotification(NotificationHelper.Notification.information, "Thông tin chi tiết");
                }
                if ((from obj in db.NhaMoiGiois
                     where obj.BrokerID.Equals(objId)
                     select obj).Count() > 0)
                {
                    objInfo = (from obj in db.NhaMoiGiois
                               where obj.BrokerID.Equals(objId)
                               select obj).Single();

                    MaNhaMoiLabel.Text = objInfo.BrokerID.ToString();
                    if (objInfo.BrokerName != null)
                       TenNhaMoiGioiTextBox.Text = objInfo.BrokerName;
                    else
                        TenNhaMoiGioiTextBox.Text = "";

                    if (objInfo.UserName != null)
                        TenDangNhapWSTextBox.Text = objInfo.UserName;
                    else
                        TenDangNhapWSTextBox.Text = "";

                    if (objInfo.PassWord != null)
                        MatKhauWSTextBox.Text = objInfo.PassWord;
                    else
                        MatKhauWSTextBox.Text = "";

                    

                    if (objInfo.LinkWS != null)
                        LinkWSTextBox.Text = objInfo.LinkWS;
                    else
                        LinkWSTextBox.Text = "";


                }
            }
        }
        else
        {
            if (InValidateForm() == false && Request.Form["act"] != null)
            {
                NhaKinhDoanhDataContext db = new NhaKinhDoanhDataContext();
                var listMoiGioi = db.NhaMoiGiois.ToList<NhaMoiGioi>();
                bool isNeverSet = true;
                if (listMoiGioi != null)
                {
                    
                    foreach (NhaMoiGioi moiGioi in listMoiGioi)
                    {
                        var objQuery = (from obj in db.NhaMoiGiois
                                    where obj.BrokerID.Equals(moiGioi.BrokerID)
                                    select obj).Single();
                         objQuery.DefaultBroker = 0;
                            if (MaNhaMoiLabel.Text.Trim()== objQuery.BrokerID.ToString())
                            {
                                objQuery.BrokerName = TenNhaMoiGioiTextBox.Text.Trim();
                                objQuery.UserName = TenDangNhapWSTextBox.Text.Trim();
                                //objQuery.PassWord = MD5Hash.GetMd5Hash(MatKhauWSTextBox.Text.Trim());
                                objQuery.PassWord = MatKhauWSTextBox.Text.Trim();
                                objQuery.LinkWS = LinkWSTextBox.Text.Trim();
                                if (isNeverSet && chkNhaMoiGioiMacDinh.Checked)
                                {
                                    objQuery.DefaultBroker = 1;
                                    isNeverSet = false;
                                }
                            }                      
                           
                            db.SubmitChanges();
                       }

                      //nếu chưa thằng nào được set default thì lấy thằng đang sửa mà set :d
                    if (isNeverSet) {
                        var objQuery = (from obj in db.NhaMoiGiois
                                        where obj.BrokerID.Equals(MaNhaMoiLabel.Text.Trim())
                                        select obj).Single();
                        objQuery.DefaultBroker = 1;
                        db.SubmitChanges();
                    }

                    NotificationMessage.InnerHtml = NotificationHelper.SetNotification(NotificationHelper.Notification.success, "Thông tin nhà môi giới đã được cập nhật thành công.");
                       
                }
            }
        }


    }

    public bool InValidateForm()
    {
        bool error = false;

        if (MaNhaMoiLabel.Text.Trim() == "")
            error = true;
        if (TenNhaMoiGioiTextBox.Text == "")
        {
            TenNhaMoiGioiTextBox.Focus();
            ErrorTenNhaMoiGioiTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorTenNhaMoiGioiTextBox.InnerHtml = "";



        if (TenDangNhapWSTextBox.Text == "")
        {
            TenDangNhapWSTextBox.Focus();
            ErrorTenDangNhapWSTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorTenDangNhapWSTextBox.InnerHtml = "";


        if (MatKhauWSTextBox.Text == "")
        {
            MatKhauWSTextBox.Focus();
            ErrorMatKhauWSTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorMatKhauWSTextBox.InnerHtml = "";


        if (LinkWSTextBox.Text == "")
        {
            LinkWSTextBox.Focus();
            ErrorLinkWSTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorLinkWSTextBox.InnerHtml = "";

        if(error)
            NotificationMessage.InnerHtml = NotificationHelper.SetNotification(NotificationHelper.Notification.error,"Bạn hãy kiểm tra lại các thông tin lỗi.");

        return error;
    }
}